1. Technical Field
This invention generally relates to computer graphical user interfaces, such as Windows. More specifically, this invention relates to an apparatus and method for viewing multiple windows within a dynamic window.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
With the introduction of the personal computer (PC), computers moved from the office into the home. At first, lay people were expected to use the same difficult computing environments as computer programmers and engineers. Soon the computer industry realized that if more computers were to be sold, computers would have to become easier to operate by those not so well versed with computers. In turn, graphical user interfaces (GUIs) were developed which allowed users to perform a command by simply pointing with the mouse and clicking on a picture called an icon. This point and click method eliminated the time consuming need to manually type in long and unfriendly commands.
A window is part of the GUI which can be viewed as a display area for a portion of something that is displayed to the user. A single window may fill the entire display, or multiple windows may be present on the display at the same time. When multiple windows are displayed simultaneously, they may be independently displayed at the same time or may be partially or completely overlapping. Windows can be adjusted to any size within screen limits, and can be placed in any location on the screen by the user using a suitable pointing device (such as a mouse). Changing the location of the windows may cause some windows to overlap one another or even completely cover one another depending on size.
The user may wish to view several windows simultaneously. In order to arrange the windows so that they can be viewed simultaneously, the user must manipulate the size and position of the windows which is a time consuming and cumbersome process. In the known prior art, some attempts have been made to relate windows to each other for more convenient display. For example, the Microsoft Visual C++ Developer's Studio provides the capability of tiling and docking windows. Tiling windows means that multiple windows are placed within a rectangular area so that the windows are automatically sized to take up the full area. Tiling may be either horizontal or vertical, i.e., given a rectangular area N rows by M columns, tiled into three windows, each may be N rows by M/3 columns, or may be N/3 rows by M columns. Tiling in this context refers to the initial placement of windows in an area. Once placed, the windows may function independently of each other, just like any other window.
While the tiling capability explained above is useful, it still does not give a user enough control of how windows are displayed. Without a method for relating windows so they can be automatically sized, positioned and displayed with respect to each other, computer users will have to manually size, resize, position, and reposition windows to obtain a desired display arrangement of windows on a computer display.